Real-Time Natural Language Generation in NL-SOAR
نویسندگان
چکیده
NL-Soar is a computer system that performs language comprehension and generation within the framework of the Soar architecture [New90]. NL-Soar provides language capabilities for systems working in a real-time environment. Responding in real time to changing situations requires a flexible way to shift control between language and task operations. To provide this flexibility, NL-Soar organizes generation as a sequence of incremental steps that can be interleaved with task actions as the situation requires. This capability has been demonstrated via the integration of NL-Soar with two different independentlydeveloped Soar-based systems. 1 Real-time generation and NL-Soar NL-Soar is a language comprehension and generation facility designed to provide integrated real-time 1 language capabilities for other systems built within the Soar architecture [New90]. In particular, this requires integrating NL-Soar's generation subsystem with other task(s) that Soar is performing. 2 One possible way to achieve this integration would be to use generation as a kind of "back end" which other task(s) can call as a subroutine whenever they need to say something. This approach is widely used in applications such as database query systems or expert systems, where the main system invokes the generator to express the answer to a query or to explain some aspect of its reasoning or conclusions. In applications that need to provide real-time behavior, though, this "subroutine" approach is problematic. There is no way for the task to interrupt generation in order to handle some other (perhaps urgent) work. In addition, if generation is an unbounded process, it may proceed to complete an utterance that may have become unnecessary or even harmful because of changes in the situation; the task has no way to modify what it wants to say once generation has been invoked. While the task could of course simply stop NL-Soar in either of these cases, I NL-Soar is being used in applications that perform in both simulated and actual real-time environments. 2Similar issues arise in NL-Soar's language comprehension subsystem, which is not described here; see [LLN91, Lew93] for a discussion of this part of NL-Soar. there is no way to guarantee that generation will be interrupted in a state from which it can recover if reinvoked later. Furthermore, the problem isn't simply one of the speed of generation; using faster processors to run Soar won't eliminate the difficulties. It might seem that we could simply assume NL-Soar can run fast enough to finish constructing an utterance before the task has time to do anything else, this is not the case. First, generation is potentially unbounded; no matter how fast a computer is used, there will still be occasions when NL-Soar takes longer than the task can afford to wait. More significantly, this assumes that NL-Soar can absorb all the speedup; this is not reasonable. I f we have faster processors, we want all the tasks to share the speedup equally; a faster NL-Soar will be invoked by a task that can respond more quickly as well, and will thus want to interrupt NL-Soar more quickly. The underlying difficulty with the subroutine approach is that generation can take an unbounded amount of time; in a real-time situation, we need to guarantee that generation can't prevent the task from responding promptly to changes in the situation. Generation must be incremental and interruptible. NL-Soar accomplishes this by dividing generation into small steps that Can be interleaved with task steps. In cases where the small steps can' t be directly carried out and require more complex computation, the sub-steps are designed so that interruptions leave the system in a clean state (although some work may be lost and need to be redone). This allows NL-Soar to operate without limiting the task's ability to respond to things that happen during generation, and vice versa. 2 A Brief Introduction to Soar 3 Soar is an architecture for building cognitive models and AI systems that has been applied to a wide range of problems [RLN93]. Soar carries out a task by applying a sequence of operators to the state of a problem-space until it reaches a state that solves the goal Soar is working on. When Soar is unable to directly carry out some step (e.g. selecting or applying an operator or selecting a problem space), it creates a subgoal to resolve the impasse that is preventing it from proceeding. In response to this subgoal, Soar selects an appropriate problem 3For a more detailed description of Soar than is possible here, see [LNR87] or [New90"l.
منابع مشابه
Reactive Natural Language Processing: Comprehension and Generation in the Air Combat Domain
The goal of the Soar/IFOR project is to provide intelligent agents capable of replacing human agents in large-scale distributed military simulations and smallscale, focused training exercises. The need for computer generated agents to remain reactive determines the requirements of the NL capability: (1) it nmst occur ill real time, (2) it nmst seamlessly integrate with the agent’s non-linguisti...
متن کاملAn Architecturally-based Theory of Human Sentence Comprehension
This thesis presents NL-Soar, a detailed computational model of human sentence comprehension that accounts for a broad range of psycholinguistic phenomena. NL-Soar provides in-depth accounts of structural ambiguity resolution, garden path effects, unproblematic ambiguities, parsing breakdown on difficult embeddings, acceptable embeddings, immediacy of interpretation, and the time course of comp...
متن کاملCombining learning approaches for incremental on-line parsing
This paper discusses the integration of two different machine learning approaches to modeling language, NL-Soar and analogical modeling (AM). The resulting hybrid system is capable of functionality that is not possible when using only one of the systems in isolation. After a brief introduction of each system, an explanation is given of how AM is used to provide information useful to NL-Soar for...
متن کاملTowards Automatic Generation of Formal Scenarios Specifications from Real-Time Reactive Systems Requirements Written in NL
This paper describes a new method for automatic generation of formal scenario-based specifications from requirements written in structured natural language (NL). The goal is to allow for completion of the formalization of the real-time reactive systems development process from users’ requirements. We believe this method would guarantee the correctness and the completeness of the scenarios gener...
متن کاملDynamic Generation of Complex Behavior
Simulation can be an effective training method if the simulation environment is as realistic as possible. An ‘important part of the training for Navy pilots involves flying against computer-controlled agents in simulated tactical scenarios. In order for such a situation to be realistic, the computer-controlled agents must be indistinguishable from human-piloted agents within the simulated envir...
متن کامل